package com.cake.liulanxiangzhu.service;

import com.cake.liulanxiangzhu.pojo.dto.AdminCakeskuDTO;
import com.cake.liulanxiangzhu.pojo.dto.AdminCakeskuInsertDTO;
import com.cake.liulanxiangzhu.pojo.dto.CartDTO;
import com.cake.liulanxiangzhu.pojo.entity.AdminCakesku;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cake.liulanxiangzhu.pojo.vo.AdminCakeskuVO;
import com.cake.liulanxiangzhu.web.JsonPage;

import java.util.List;

/**
 * @author Administrator
 * @description 针对表【admin_cakesku】的数据库操作Service
 * @createDate 2023-01-19 13:20:59
 */
public interface AdminCakeskuService extends IService<AdminCakesku> {
    /**
     * 1. @Description: 生成产品类型
     * 2. @Param: [adminBannerInsertDTO]
     * 3. @return: void
     * 4. @Author: dinghao
     * 5. @Date: 2023/1/19
     */
    void addNew(AdminCakeskuInsertDTO adminCakeskuInsertDTO);

    /**
     * 1. @Description: 删除产品类型
     * 2. @Param: [skuId]
     * 3. @return: void
     * 4. @Author: ManolinCoder
     * 5. @Date: 2023/1/19
     */
    void deleteById(Integer skuId);

    /**
     * 1. @Description: 修改产品类型
     * 2. @Param:
     * 3. @return:
     * 4. @Author: ManolinCoder
     * 5. @Date: 2023/1/19
     */
    void updateById(AdminCakeskuDTO adminCakeskuDTO);

    /**
     * 1. @Description: 根据ID查询产品类型
     * 2. @Param: [skuId]
     * 3. @return: AdminCakeskuVO
     * 4. @Author: ManolinCoder
     * 5. @Date: 2023/1/19
     */
    AdminCakeskuVO getSkuById(Integer skuId);

    /**
     * 1. @Description: 分页显示所有产品信息
     * 2. @Param: [page, pageSize]
     * 3. @return: JsonPage<AdminCakeskuVO>
     * 4. @Author: ManolinCoder
     * 5. @Date: 2023/1/19
     */
    JsonPage<AdminCakeskuVO> getAllSku(Integer page, Integer pageSize);

    /**
     *
     * <span>微信显示产品Sku信息
     * @param cakeId
     * @return List<AdminCakeskuVO>
     * @author dinghao
     * @date 2023/2/15 20:50
     */
    List<AdminCakeskuVO> weiXinProductSku(Integer cakeId);

    /**
     * <span>购买多个后进行结算，显示商品信息
     *
     * @param cartDTO@return List<AdminCakeskuVO>
     * @author dinghao
     * @date 2023/2/15 20:50
     */
    List<AdminCakeskuVO> weiXinProductSkuList(CartDTO cartDTO);


}
